package com.ruoyi.piaopiao.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * bill对象 bill
 * 
 * @author 谢仕洲
 * @date 2025-06-21
 */
public class Bill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 账单名称 */
    @Excel(name = "账单名称")
    private String name;

    /** 账单总额 */
    @Excel(name = "账单总额")
    private BigDecimal amount;

    /** 本月还款 */
    @Excel(name = "本月还款")
    private BigDecimal current;

    /** 还款日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "还款日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payDate;

    /** 账单类型 */
    @Excel(name = "账单类型")
    private String type;

    /** 剩余还款 */
    @Excel(name = "剩余还款")
    private BigDecimal remain;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }

    public void setCurrent(BigDecimal current) 
    {
        this.current = current;
    }

    public BigDecimal getCurrent() 
    {
        return current;
    }

    public void setPayDate(Date payDate) 
    {
        this.payDate = payDate;
    }

    public Date getPayDate() 
    {
        return payDate;
    }

    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }

    public void setRemain(BigDecimal remain) 
    {
        this.remain = remain;
    }

    public BigDecimal getRemain() 
    {
        return remain;
    }

    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("amount", getAmount())
            .append("current", getCurrent())
            .append("payDate", getPayDate())
            .append("type", getType())
            .append("remain", getRemain())
            .append("state", getState())
            .toString();
    }
}
